home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / esc.jar / com / extensibility / convert / ImportXMLAction.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-06-30  |  2.5 KB  |  68 lines

  1. package com.extensibility.convert;
  2.  
  3. import com.extensibility.app.Desktop;
  4. import com.extensibility.app.DialogFactory;
  5. import com.extensibility.app.UI;
  6. import com.extensibility.xa.SchemaDoc;
  7. import com.extensibility.xml.BaseDeclaration;
  8. import com.extensibility.xml.ImportXMLHandler;
  9. import com.extensibility.xml.SchemaUtilities;
  10. import com.extensibility.xml.URI;
  11. import java.awt.Component;
  12. import java.awt.Frame;
  13. import java.io.File;
  14. import java.io.IOException;
  15. import java.io.Reader;
  16. import org.xml.sax.InputSource;
  17. import org.xml.sax.Parser;
  18.  
  19. public class ImportXMLAction extends BaseImportAction {
  20.    public ImportXMLAction(SchemaDoc var1) {
  21.       super(var1, "import.item.xml");
  22.    }
  23.  
  24.    public boolean doImport(Frame var1) {
  25.       File var2 = DialogFactory.askFile(var1, UI.getString("dialog.open.title", UI.getFileTypeName("xml")), new String[]{"xml"});
  26.       return var2 == null ? false : this.doImport(new URI(var2), var1);
  27.    }
  28.  
  29.    public boolean doImport(URI var1, Frame var2) {
  30.       if (var2 == null) {
  31.          var2 = Desktop.getWelcome();
  32.       }
  33.  
  34.       1 var3 = new 1((ImportXMLAction)null, super.doc.getSchema());
  35.       Parser var4 = SchemaUtilities.getParser();
  36.       var4.setEntityResolver(var3);
  37.       var4.setErrorHandler(var3);
  38.       var4.setDocumentHandler(var3);
  39.       Reader var5 = null;
  40.  
  41.       label84: {
  42.          boolean var7;
  43.          try {
  44.             var5 = var1.createReader();
  45.             var4.parse(new InputSource(var5));
  46.             ((ImportXMLHandler)var3).makeDeclarations(super.doc.getSchema());
  47.             break label84;
  48.          } catch (Exception var17) {
  49.             DialogFactory.stop((Component)var2, UI.getString("stop.xml.parse.failed", ((Throwable)var17).toString()));
  50.             var7 = false;
  51.          } finally {
  52.             try {
  53.                if (var5 != null) {
  54.                   var5.close();
  55.                }
  56.             } catch (IOException var16) {
  57.             }
  58.  
  59.          }
  60.  
  61.          return var7;
  62.       }
  63.  
  64.       super.doc.fireChangedEvent((BaseDeclaration)null);
  65.       return true;
  66.    }
  67. }
  68.